package com.th.service;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.IService;
import com.th.common.domain.UsWalletInfo;
import com.th.common.domain.UsWalletTransaction;

import java.util.Date;

/**
 * @author 第五组
 * @Description TODO
 * @createTime 2023-06-24 16:59
 */
public interface UsWalletTransactionService extends IService<UsWalletTransaction> {
    LambdaQueryWrapper<UsWalletTransaction> getUsWalletTransaction();


    /**
     * 给定一个日期区间查询账单，以分页形式展示
     * 这里提供一个（LambdaQueryWrapper）查询条件
     * @param startTime
     * @param endTime
     * @return
     */

    LambdaQueryWrapper<UsWalletTransaction> getUsWalletTransactionCompareByTime(Date startTime, Date endTime, Integer type);


    /***
     *  处理提现
     * @param paymentMethod
     * @param amount
     * @return
     */
    String Withdraw(Integer paymentMethod, Integer amount);

    /***
     *  处理充值
     * @param paymentMethod
     * @param amount
     * @return
     */
    String Recharge(Integer paymentMethod, Integer amount);

    /***
     * 当月支出
     * @param month
     * @param year
     * @return
     */
    String getCurrentMonthExpenditure(Integer month, Integer year);

    /***
     * 当月收入
     * @param month
     * @param year
     * @return
     */
    String getCurrentMonthIncome(Integer month, Integer year);

    /***
     * 分页查询支出与收入
     * @param type 类型
     * @return
     */
    LambdaQueryWrapper<UsWalletTransaction> getIncomeAndExpenditure(Integer type);
}
